Skip to content

Conversation

xinWeiWei24
Copy link
Contributor

Add read_update benchmark command for mixed workload testing and implement concurrent watch connections for all generated ConfigMaps.

Load Profile

Includes staleList (read) and Patch (update) operations.
Controlled via the --read-ratio flag to adjust the proportion of read vs. update actions.

@xinWeiWei24 xinWeiWei24 requested a review from fuweid August 15, 2025 01:03
// Start to watch the configmaps
watches := make([]watch.Interface, 0)
var wg sync.WaitGroup
for i := 0; i < total; i++ {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this supposed to simulate cilium's use case? In Cilium's use case, each pod is watched by each cilium agent, so it creates multiple watch updates for one mutation of a pod.


return &internaltypes.BenchmarkReport{
Description: fmt.Sprintf(`
Environment: Combine %d read requests and %d update requests during benchmarking. Workload: Deploy %d configmaps in %d KiB`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to measure anything of the watches?

@fuweid fuweid merged commit 0d914b0 into Azure:main Aug 20, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants